package com.arron.algorithm.leetcodetop100.二叉树;

import com.arron.algorithm.tree.TreeNode;

import java.util.ArrayList;
import java.util.List;


/**
 *  bfs 版本
 * @see com.arron.algorithm.leetcodetop100.bfs.二叉树的右视图
 */
public class 二叉树的右视图 {

    List<Integer> res;

    public List<Integer> rightSideView(TreeNode root) {

        res = new ArrayList<>();
        dfs(root,0);
        return res;
    }

    public void  dfs(TreeNode root,int depth){


        if (root == null){
            return;
        }
        depth++;

        if (res.size()<depth){
            res.add(root.val);
        }
        dfs(root.right,depth);
        dfs(root.left,depth);

    }
}
